ALMaSS  1.0
The Animal, Landscape and Man Simulation System
Bembidion_Larvae Class Reference

The class describing the beetle larvae objects. More...

#include <bembidion_all.h>

Inheritance diagram for Bembidion_Larvae:
Bembidion_Base TAnimal TALMaSSObject

Public Member Functions

 Bembidion_Larvae (int x, int y, Landscape *L, Bembidion_Population_Manager *BPM)
 Larvae class constructor. More...
 
void ReInit (int x, int y, Landscape *L, Bembidion_Population_Manager *BPM)
 ReInit for object pool. More...
 
virtual void BeginStep ()
 Larvae class BeginStep code. More...
 
virtual void Step ()
 Larvae Step code. More...
 
virtual void KillThis ()
 Kill this larva. More...
 
- Public Member Functions inherited from Bembidion_Base
 Bembidion_Base (int x, int y, Landscape *L, Bembidion_Population_Manager *BPM)
 Constructor. More...
 
void ReInit (int x, int y, Landscape *L, Bembidion_Population_Manager *BPM)
 ReInit for object pool. More...
 
virtual void EndStep ()
 EndStep - empty. More...
 
virtual void st_Die ()
 Common state Die. More...
 
void CopyMyself (int a_beetle)
 For experimental purposes. More...
 
void CopyMyselfB (int a_beetle)
 For experimental purposes. More...
 
- Public Member Functions inherited from TAnimal
unsigned SupplyFarmOwnerRef ()
 
AnimalPosition SupplyPosition ()
 
APoint SupplyPoint ()
 
int SupplyPolygonRef ()
 
int Supply_m_Location_x ()
 
int Supply_m_Location_y ()
 
virtual void CopyMyself ()
 
void SetX (int a_x)
 
void SetY (int a_y)
 
 TAnimal (int x, int y, Landscape *L)
 
virtual void ReinitialiseObject (int x, int y, Landscape *L)
 Used to re-use an object - must be implemented in descendent classes. More...
 
virtual int WhatState ()
 
virtual void Dying ()
 
void CheckManagement (void)
 
void CheckManagementXY (int x, int y)
 
- Public Member Functions inherited from TALMaSSObject
int GetCurrentStateNo ()
 Returns the current state number. More...
 
void SetCurrentStateNo (int a_num)
 Sets the current state number. More...
 
bool GetStepDone ()
 Returns the step done indicator flag. More...
 
void SetStepDone (bool a_bool)
 Sets the step done indicator flag. More...
 
virtual void ReinitialiseObject ()
 Used to re-use an object - must be implemented in descendent classes. More...
 
 TALMaSSObject ()
 The constructor for TALMaSSObject. More...
 
virtual ~TALMaSSObject ()
 The destructor for TALMaSSObject. More...
 
void OnArrayBoundsError ()
 Used for debugging only, tests basic object properties. More...
 

Protected Member Functions

int st_Develop ()
 Larvae state development. More...
 
void st_Pupate ()
 Larvae state pupation. More...
 
virtual bool DailyMortality ()
 Larvae non-temperature or density related mortality. More...
 
virtual bool OnFarmEvent (FarmToDo event)
 Larvae reactions to management events. More...
 
bool TempRelatedLarvalMortality (int temp2)
 Determine larval temperature related mortality. More...
 
- Protected Member Functions inherited from TAnimal
void CorrectWrapRound ()
 Corrects wrap around co-ordinate problems. More...
 

Protected Attributes

double m_AgeDegrees
 Record larvae day degrees. More...
 
int m_LarvalStage
 Current larval growth stage (1-3) More...
 
int m_DayMade
 
- Protected Attributes inherited from TAnimal
int m_Location_x
 
int m_Location_y
 
Landscapem_OurLandscape
 
- Protected Attributes inherited from TALMaSSObject
int m_CurrentStateNo
 The basic state number for all objects - '-1' indicates death. More...
 
bool m_StepDone
 Indicates whether the iterative step code is done for this timestep. More...
 

Additional Inherited Members

- Public Attributes inherited from Bembidion_Base
TTypesOfBeetleState CurrentBState
 Current behavioural state. More...
 
Bembidion_Population_Managerm_OurPopulation
 Pointer to the population manager. More...
 

Detailed Description

The class describing the beetle larvae objects.

Constructor & Destructor Documentation

◆ Bembidion_Larvae()

Bembidion_Larvae::Bembidion_Larvae ( int  x,
int  y,
Landscape L,
Bembidion_Population_Manager BPM 
)

Larvae class constructor.

648  :
649  Bembidion_Base( x, y, L, BPM ) {
650  m_LarvalStage = 0;
651  m_AgeDegrees = 0;
652  m_DayMade = L->SupplyDayInYear();
653 }
Bembidion_Base(int x, int y, Landscape *L, Bembidion_Population_Manager *BPM)
Constructor.
Definition: Bembidion_all.cpp:205
int m_LarvalStage
Current larval growth stage (1-3)
Definition: bembidion_all.h:244
int m_DayMade
Definition: bembidion_all.h:246
double m_AgeDegrees
Record larvae day degrees.
Definition: bembidion_all.h:242
int SupplyDayInYear(void)
Definition: landscape.h:1596

References m_AgeDegrees, m_DayMade, m_LarvalStage, and Landscape::SupplyDayInYear().

Member Function Documentation

◆ BeginStep()

void Bembidion_Larvae::BeginStep ( void  )
virtual

Larvae class BeginStep code.

Reimplemented from Bembidion_Base.

954 {
955  CheckManagement();
957 }
@ tobs_LDying
Definition: bembidion_all.h:43
TTypesOfBeetleState CurrentBState
Current behavioural state.
Definition: bembidion_all.h:159
virtual bool DailyMortality()
Larvae non-temperature or density related mortality.
Definition: Bembidion_all.cpp:1004
void CheckManagement(void)
Definition: PopulationManager.cpp:1404

References TAnimal::CheckManagement(), Bembidion_Base::CurrentBState, DailyMortality(), and tobs_LDying.

◆ DailyMortality()

bool Bembidion_Larvae::DailyMortality ( )
protectedvirtual

Larvae non-temperature or density related mortality.

1005 {
1007  {
1008  return true;
1009  }
1010  return false;
1011 }
boost::variate_generator< base_generator_type &, boost::uniform_real<> > g_rand_uni
const double DailyLarvaeMort
Daily fixed mortality probability.
Definition: Bembidion_all.cpp:108

References DailyLarvaeMort, and g_rand_uni.

Referenced by BeginStep().

◆ KillThis()

void Bembidion_Larvae::KillThis ( void  )
virtual

Kill this larva.

Reimplemented from TAnimal.

947 {
949 }

References Bembidion_Base::CurrentBState, and tobs_LDying.

◆ OnFarmEvent()

bool Bembidion_Larvae::OnFarmEvent ( FarmToDo  event)
protectedvirtual

Larvae reactions to management events.

Reimplemented from TAnimal.

665 {
666  switch(event)
667  {
668  case sleep_all_day:
669  break;
670  case autumn_plough:
672  break;
673  case stubble_plough: // assumed to be the same as for autumn plough
675  break;
676  case stubble_cultivator_heavy: // assumed to be the same as for autumn plough
678  break;
679  case heavy_cultivator_aggregate: // assumed to be the same as for autumn plough
681  break;
682  case autumn_harrow:
684  break;
685  case preseeding_cultivator: // assumed to be the same as for harrow
687  break;
688  case preseeding_cultivator_sow: // assumed to be the same as for harrow
690  break;
691  case autumn_roll:
693  break;
694  case autumn_sow:
696  break;
697  case winter_plough:
699  break;
700  case deep_ploughing:
702  break;
703  case spring_plough:
705  break;
706  case spring_harrow:
708  break;
709  case shallow_harrow:
711  break;
712  case spring_roll:
713  break;
714  case spring_sow:
715  break;
717  break;
718  case fp_npks:
719  break;
720  case fp_npk:
721  break;
722  case fp_pk:
723  break;
724  case fp_liquidNH3:
725  break;
726  case fp_slurry:
727  break;
729  break;
730  case fp_ammoniumsulphate:
731  break;
732  case fp_manure:
733  break;
734  case fp_greenmanure:
735  break;
736  case fp_sludge:
737  break;
738  case fp_rsm:
739  break;
740  case fp_calcium:
741  break;
742  case fa_npks:
743  break;
744  case fa_npk:
745  break;
746  case fa_pk:
747  break;
748  case fa_slurry:
749  break;
750  case fa_ammoniumsulphate:
751  break;
753  break;
754  case fa_manure:
755  break;
756  case fa_greenmanure:
757  break;
758  case fa_sludge:
759  break;
760  case fa_rsm:
761  break;
762  case fa_calcium:
763  break;
764 case herbicide_treat:
765  break;
766 case growth_regulator:
767  break;
768 case fungicide_treat:
769  break;
770 case insecticide_treat:
772  break;
773 case molluscicide:
774  break;
775 case row_cultivation:
776  break;
777 case strigling:
778  //if (g_rand_uni()<cfg_BeetleStriglingMort.value()) CurrentBState=tobs_LDying;
779 break;
780 case hilling_up:
781  break;
782 case water:
783  break;
784 case swathing:
785  break;
786 case harvest:
787  break;
788 case cattle_out:
789  break;
790 case cattle_out_low:
791  break;
792 case cut_to_hay:
793  break;
794 case cut_to_silage:
795  break;
796 case straw_chopping:
797  break;
798 case hay_turning:
799  break;
800 case hay_bailing:
801  break;
802 case flammebehandling:
803  break;
804 case stubble_harrowing:
805  break;
808  break;
809 case burn_straw_stubble:
810  break;
811 case mow:
812  break;
813 case cut_weeds:
814  break;
815 case pigs_out:
816  break;
817 case strigling_sow:
819  break;
820 case strigling_hill:
822  break;
825  break;
826 case trial_toxiccontrol:
828  break;
829 case trial_control:
830 case product_treat:
831  break;
832 case glyphosate:
833  break;
836  break;
837 case biocide:
838  break;
839 case bed_forming:
841  break;
842 case flower_cutting:
843  break;
844 case bulb_harvest:
846  break;
847 case straw_covering:
848  break;
849 case straw_removal:
850  break;
851 default:
852  m_OurLandscape->Warn("Bembidion Larvae - Unknown Treatment in Daily Mortality"
853  ,NULL);
854  exit(1);
855  }
856  // Must incorporate a test here in case the animal is dead - killing it twice
857  // can be a bad idea
858  if (CurrentBState==tobs_LDying) return true;
859  else
860  return false;
861 }
int random(int a_range)
Definition: ALMaSS_CmdLine.cpp:142
static CfgFloat cfg_Larva_InsecticideApplication("BEM_LARVAEINSECTICIDEMORT", CFG_CUSTOM, 0.800)
static CfgInt cfg_PesticideTrialLarvaeTreatmentMort("BEM_PTRIALLARVAEMORT", CFG_CUSTOM, 0)
static CfgFloat cfg_Larva_SoilCultivationMortality("BEM_LARVAESOILMORT", CFG_CUSTOM, 0.500)
const int PesticideTrialLarvaeToxicMort
Definition: Bembidion_all.cpp:191
double value(void)
Definition: configurator.h:118
int value(void)
Definition: configurator.h:98
void Warn(std::string a_msg1, std::string a_msg2)
Definition: landscape.h:1579
Landscape * m_OurLandscape
Definition: PopulationManager.h:229
@ burn_straw_stubble
Definition: treatment.h:92
@ autumn_harrow
Definition: treatment.h:37
@ swathing
Definition: treatment.h:81
@ fa_pk
Definition: treatment.h:62
@ winter_plough
Definition: treatment.h:42
@ strigling
Definition: treatment.h:77
@ shallow_harrow
Definition: treatment.h:107
@ straw_removal
Definition: treatment.h:112
@ fp_npks
Definition: treatment.h:48
@ glyphosate
Definition: treatment.h:102
@ fa_sludge
Definition: treatment.h:68
@ fp_liquidNH3
Definition: treatment.h:51
@ spring_roll
Definition: treatment.h:46
@ fa_greenmanure
Definition: treatment.h:67
@ spring_plough
Definition: treatment.h:44
@ fa_rsm
Definition: treatment.h:69
@ molluscicide
Definition: treatment.h:75
@ syninsecticide_treat
Definition: treatment.h:99
@ hay_turning
Definition: treatment.h:88
@ fa_manganesesulphate
Definition: treatment.h:64
@ autumn_roll
Definition: treatment.h:38
@ fp_manure
Definition: treatment.h:55
@ bed_forming
Definition: treatment.h:106
@ deep_ploughing
Definition: treatment.h:43
@ pigs_out
Definition: treatment.h:84
@ fa_npk
Definition: treatment.h:61
@ herbicide_treat
Definition: treatment.h:71
@ row_cultivation
Definition: treatment.h:76
@ heavy_cultivator_aggregate
Definition: treatment.h:108
@ spring_sow
Definition: treatment.h:47
@ fungicide_treat
Definition: treatment.h:73
@ fp_manganesesulphate
Definition: treatment.h:53
@ harvest
Definition: treatment.h:82
@ biocide
Definition: treatment.h:104
@ cut_to_silage
Definition: treatment.h:86
@ sleep_all_day
Definition: treatment.h:33
@ mow
Definition: treatment.h:93
@ preseeding_cultivator
Definition: treatment.h:39
@ fa_ammoniumsulphate
Definition: treatment.h:65
@ autumn_plough
Definition: treatment.h:34
@ straw_chopping
Definition: treatment.h:87
@ fa_manure
Definition: treatment.h:66
@ fp_greenmanure
Definition: treatment.h:56
@ fa_slurry
Definition: treatment.h:63
@ preseeding_cultivator_sow
Definition: treatment.h:40
@ product_treat
Definition: treatment.h:101
@ stubble_harrowing
Definition: treatment.h:90
@ hilling_up
Definition: treatment.h:79
@ straw_covering
Definition: treatment.h:111
@ growth_regulator
Definition: treatment.h:72
@ fp_ammoniumsulphate
Definition: treatment.h:54
@ trial_control
Definition: treatment.h:98
@ fp_rsm
Definition: treatment.h:58
@ stubble_cultivator_heavy
Definition: treatment.h:36
@ insecticide_treat
Definition: treatment.h:74
@ trial_insecticidetreat
Definition: treatment.h:96
@ cattle_out_low
Definition: treatment.h:100
@ cut_to_hay
Definition: treatment.h:85
@ cut_weeds
Definition: treatment.h:94
@ bulb_harvest
Definition: treatment.h:110
@ spring_sow_with_ferti
Definition: treatment.h:103
@ strigling_hill
Definition: treatment.h:105
@ fp_sludge
Definition: treatment.h:57
@ autumn_sow
Definition: treatment.h:41
@ fa_calcium
Definition: treatment.h:70
@ fp_npk
Definition: treatment.h:49
@ fp_pk
Definition: treatment.h:50
@ flammebehandling
Definition: treatment.h:78
@ trial_toxiccontrol
Definition: treatment.h:97
@ hay_bailing
Definition: treatment.h:89
@ spring_harrow
Definition: treatment.h:45
@ strigling_sow
Definition: treatment.h:95
@ stubble_plough
Definition: treatment.h:35
@ cattle_out
Definition: treatment.h:83
@ flower_cutting
Definition: treatment.h:109
@ fp_slurry
Definition: treatment.h:52
@ water
Definition: treatment.h:80
@ fa_npks
Definition: treatment.h:60
@ fp_calcium
Definition: treatment.h:59
@ autumn_or_spring_plough
Definition: treatment.h:91

References autumn_harrow, autumn_or_spring_plough, autumn_plough, autumn_roll, autumn_sow, bed_forming, biocide, bulb_harvest, burn_straw_stubble, cattle_out, cattle_out_low, cfg_Larva_InsecticideApplication, cfg_Larva_SoilCultivationMortality, cfg_PesticideTrialLarvaeTreatmentMort, Bembidion_Base::CurrentBState, cut_to_hay, cut_to_silage, cut_weeds, deep_ploughing, fa_ammoniumsulphate, fa_calcium, fa_greenmanure, fa_manganesesulphate, fa_manure, fa_npk, fa_npks, fa_pk, fa_rsm, fa_sludge, fa_slurry, flammebehandling, flower_cutting, fp_ammoniumsulphate, fp_calcium, fp_greenmanure, fp_liquidNH3, fp_manganesesulphate, fp_manure, fp_npk, fp_npks, fp_pk, fp_rsm, fp_sludge, fp_slurry, fungicide_treat, g_rand_uni, glyphosate, growth_regulator, harvest, hay_bailing, hay_turning, heavy_cultivator_aggregate, herbicide_treat, hilling_up, insecticide_treat, TAnimal::m_OurLandscape, molluscicide, mow, PesticideTrialLarvaeToxicMort, pigs_out, preseeding_cultivator, preseeding_cultivator_sow, product_treat, random(), row_cultivation, shallow_harrow, sleep_all_day, spring_harrow, spring_plough, spring_roll, spring_sow, spring_sow_with_ferti, straw_chopping, straw_covering, straw_removal, strigling, strigling_hill, strigling_sow, stubble_cultivator_heavy, stubble_harrowing, stubble_plough, swathing, syninsecticide_treat, tobs_LDying, trial_control, trial_insecticidetreat, trial_toxiccontrol, CfgInt::value(), CfgFloat::value(), Landscape::Warn(), water, and winter_plough.

◆ ReInit()

void Bembidion_Larvae::ReInit ( int  x,
int  y,
Landscape L,
Bembidion_Population_Manager BPM 
)

ReInit for object pool.

656  {
657  Bembidion_Base::ReInit( x, y, L, BPM );
658  m_LarvalStage = 0;
659  m_AgeDegrees = 0;
660  m_DayMade = L->SupplyDayInYear();
661 }
void ReInit(int x, int y, Landscape *L, Bembidion_Population_Manager *BPM)
ReInit for object pool.
Definition: Bembidion_all.cpp:213

References m_AgeDegrees, m_DayMade, m_LarvalStage, Bembidion_Base::ReInit(), and Landscape::SupplyDayInYear().

◆ st_Develop()

int Bembidion_Larvae::st_Develop ( )
protected

Larvae state development.

Determines temperature related mortality. If the larvae survives this then a density-dependent mortality is applied. If the the larvae survives the second mortality then development occurs based on the temperature experienced since the day before. Development rate depends on the larval stage. The code is speeded by these calculations being carried out by the Bembidion_Population_Manager for all eggs, larvae and adults extant each day, hence only one calculation needs to be done for each life-stage instead of potentially millions.

886 {
892  int temp2=(int) floor(m_OurLandscape->SupplyTemp()+0.5);
893  if (TempRelatedLarvalMortality(temp2))
894  {
895  // To ensure that we don't influence anyone else clear the position
897  return 2; // die
898  }
899  // Find out if there is any danger of using wrap round
900  if ((m_Location_x==0)||(m_Location_y==0)||(m_Location_x>=
902  {
903  // No density dependent mortality at the edge (this is a fudge, but a small one with large landscapes)
904  }
905  else
906  {
907  // Do density dependent mortality based on the +/- 1 m in all directions.
910  {
911  // To ensure that we don't influence anyone else clear the position
913  return 2; // die
914  }
915  }
916  }
917  // Still alive so now do the development bit
919  {
920  m_LarvalStage++; // turn into next larval stage
921  }
922  if (m_LarvalStage==3) return 1; // become a pupa
923  else return 0; // carry on developing
924 }
static CfgInt cfg_DDepRange("BEM_DDEPRANGE", CFG_CUSTOM, 3)
Adult/Larve density dependent range.
const double LDevelConst2[3]
Day degree constant.
Definition: Bembidion_all.cpp:124
Bembidion_Population_Manager * m_OurPopulation
Pointer to the population manager.
Definition: bembidion_all.h:161
bool TempRelatedLarvalMortality(int temp2)
Determine larval temperature related mortality.
Definition: Bembidion_all.cpp:864
SimplePositionMap * m_LarvaePosMap
Optimised map of larval positions.
Definition: bembidion_all.h:470
double LDDepMort1
Storage for density-dependent mortality parameter.
Definition: bembidion_all.h:476
double SupplyLDayDeg(int L, int day)
Get larval day degress for a specific dayand instar.
Definition: bembidion_all.h:418
int LDDepMort0
Storage for density-dependent mortality parameter.
Definition: bembidion_all.h:474
double SupplyTemp(void)
Definition: landscape.h:1386
int SimH
Definition: PopulationManager.h:511
int SimW
Definition: PopulationManager.h:511
virtual int GetMapDensity(unsigned a_x, unsigned a_y, unsigned a_range)
Definition: positionmap.h:66
virtual void ClearMapValue(unsigned a_x, unsigned a_y)
Definition: positionmap.h:61
int m_Location_y
Definition: PopulationManager.h:228
int m_Location_x
Definition: PopulationManager.h:225

References cfg_DDepRange, SimplePositionMap::ClearMapValue(), g_rand_uni, SimplePositionMap::GetMapDensity(), Bembidion_Population_Manager::LDDepMort0, Bembidion_Population_Manager::LDDepMort1, LDevelConst2, m_DayMade, Bembidion_Population_Manager::m_LarvaePosMap, m_LarvalStage, TAnimal::m_Location_x, TAnimal::m_Location_y, TAnimal::m_OurLandscape, Bembidion_Base::m_OurPopulation, Population_Manager::SimH, Population_Manager::SimW, Bembidion_Population_Manager::SupplyLDayDeg(), Landscape::SupplyTemp(), TempRelatedLarvalMortality(), and CfgInt::value().

Referenced by Step().

◆ st_Pupate()

void Bembidion_Larvae::st_Pupate ( )
protected

Larvae state pupation.

929 {
930  // Must clear the map position
932  struct_Bembidion * BS;
933  BS = new struct_Bembidion;
934  BS->x = m_Location_x;
935  BS->y = m_Location_y;
936  BS->L = m_OurLandscape;
937  BS->BPM = m_OurPopulation;
938  BS->DayDegrees=(int)m_AgeDegrees;
939  // carry the extra degrees over to next stage
940  m_OurPopulation->CreateObjects(2,this,NULL,BS,1);
941  delete BS;
942 }
void CreateObjects(int ob_type, TAnimal *pvo, void *null, struct_Bembidion *data, int number)
Method to add beetles to the population.
Definition: Bembidion_all.cpp:2942
A data class for Bembidion data.
Definition: bembidion_all.h:114
int DayDegrees
Definition: bembidion_all.h:116
int x
Definition: bembidion_all.h:117
Landscape * L
Definition: bembidion_all.h:119
int y
Definition: bembidion_all.h:118
Bembidion_Population_Manager * BPM
Definition: bembidion_all.h:120

References struct_Bembidion::BPM, SimplePositionMap::ClearMapValue(), Bembidion_Population_Manager::CreateObjects(), struct_Bembidion::DayDegrees, struct_Bembidion::L, m_AgeDegrees, Bembidion_Population_Manager::m_LarvaePosMap, TAnimal::m_Location_x, TAnimal::m_Location_y, TAnimal::m_OurLandscape, Bembidion_Base::m_OurPopulation, struct_Bembidion::x, and struct_Bembidion::y.

Referenced by Step().

◆ Step()

void Bembidion_Larvae::Step ( void  )
virtual

Larvae Step code.

Reimplemented from Bembidion_Base.

962 {
963  if (m_StepDone || m_CurrentStateNo == -1) return;
964  switch (CurrentBState)
965  {
966  case 0: // Initial
968  break;
969  case tobs_LDeveloping: // Developing
970  switch(st_Develop())
971  {
972  case 0: // nothing
973  m_StepDone = true;
974  break;
975  case 1: // pupating
977  break;
978  case 2: // die
980  break;
981  }
982  break;
983  case tobs_Pupating:
984  st_Pupate();
985  m_CurrentStateNo=-1; //Destroys object
987  m_StepDone=true;
988  break;
989  case tobs_LDying:
990  // Remove itself from the position map
992  st_Die();
993  m_StepDone=true;
994  break;
995  default:
996  m_OurLandscape->Warn("Bembidion Larvae - Unknown State",NULL);
997  g_msg->Warn(WARN_BUG, "State attempted was: ", int(CurrentBState));
998  exit(1);
999  }
1000 }
@ tobs_Destroy
Definition: bembidion_all.h:55
@ tobs_Pupating
Definition: bembidion_all.h:42
@ tobs_LDeveloping
Definition: bembidion_all.h:41
virtual void st_Die()
Common state Die.
Definition: Bembidion_all.cpp:224
int st_Develop()
Larvae state development.
Definition: Bembidion_all.cpp:885
void st_Pupate()
Larvae state pupation.
Definition: Bembidion_all.cpp:928
void Warn(MapErrorState a_level, std::string a_msg1, std::string a_msg2)
Definition: maperrormsg.cpp:59
bool m_StepDone
Indicates whether the iterative step code is done for this timestep.
Definition: PopulationManager.h:118
int m_CurrentStateNo
The basic state number for all objects - '-1' indicates death.
Definition: PopulationManager.h:116
class MapErrorMsg * g_msg
This pointer provides access the to the internal ALMaSS error message system.
Definition: maperrormsg.cpp:41
@ WARN_BUG
Definition: maperrormsg.h:34

References SimplePositionMap::ClearMapValue(), Bembidion_Base::CurrentBState, g_msg, TALMaSSObject::m_CurrentStateNo, Bembidion_Population_Manager::m_LarvaePosMap, TAnimal::m_Location_x, TAnimal::m_Location_y, TAnimal::m_OurLandscape, Bembidion_Base::m_OurPopulation, TALMaSSObject::m_StepDone, st_Develop(), Bembidion_Base::st_Die(), st_Pupate(), tobs_Destroy, tobs_LDeveloping, tobs_LDying, tobs_Pupating, MapErrorMsg::Warn(), Landscape::Warn(), and WARN_BUG.

◆ TempRelatedLarvalMortality()

bool Bembidion_Larvae::TempRelatedLarvalMortality ( int  temp2)
inlineprotected

Determine larval temperature related mortality.

The idea here is that we calculate how long a larvae would expect to be at a temperature (based on today's temp) We also calculate the background mortality expected at that temperature then divide the total mortality by the number of days then apply that mortality today Problem is that we are dealing with percentages so this is not straight forward. The solution used here is to calculate a set of development and daily mort for 5 degree intervals then choose the closest.

865 {
877  if (temp2<0) temp2=0; else if (temp2>25) temp2=25;
878  temp2=(int)(floor((float)temp2+2.0)*0.2); // same as (temp2+2)/5
879  // take a mortality test
880  if (g_rand_uni()<(LarvalDailyMort[m_LarvalStage][temp2])) return true;// die
881  else return false;
882 }
const double LarvalDailyMort[3][6]
Daily fixed mortality probability based on three larval stages and temperature.
Definition: Bembidion_all.cpp:114

References g_rand_uni, LarvalDailyMort, and m_LarvalStage.

Referenced by st_Develop().

Member Data Documentation

◆ m_AgeDegrees

double Bembidion_Larvae::m_AgeDegrees
protected

Record larvae day degrees.

Referenced by Bembidion_Larvae(), ReInit(), and st_Pupate().

◆ m_DayMade

int Bembidion_Larvae::m_DayMade
protected

Records the day hatched for development calculations

Referenced by Bembidion_Larvae(), ReInit(), and st_Develop().

◆ m_LarvalStage

int Bembidion_Larvae::m_LarvalStage
protected

Current larval growth stage (1-3)

Referenced by Bembidion_Larvae(), ReInit(), st_Develop(), and TempRelatedLarvalMortality().


The documentation for this class was generated from the following files: